home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
ps68a14.arc
/
EXAMPLE.ASM
< prev
next >
Wrap
Assembly Source File
|
1986-11-30
|
2KB
|
53 lines
; To become familiar with the segment feature you
; should assemble this file with and without the
; single object module swicth enabled.
;
; a68 -o example ;three object module files
; code.seg
; memory.seg
; rom2.seg
;
; a68 example ;one object module file example.obj
.db h'00,o'77,h'77,d'77,77,077
.org h'20 ;start assembly at location 20 hex.
.segment .memory ;declare a new segmemt for ram memory
;allocation
.memory ;select segment .memory as active(locaton counter)
;for the .code segment(created by the assembler) is
;saved for when we switch back.
.org h'8000 ;Ram starts at 8000 hex.
var1: .rs 1 ;variable 1
var16: .rs 2 ;16 bit variable
array: .rs 100*2 ;100 16 bit word array
.eject ;lets start on a fresh page of paper.
;notice that an page eject does not print!
;test list off
.command -l ;this should not print
.db "this is a .db test (fcc on some oem assemblers)"
.command +l ;this also should not print
;this line should print
.code ;switch back to code segment
; origin is where we left off.
loop: .dw loop,loop2
.drw loop,loop2
.equ cr,13 ;equated idienifiers are constant.
.equ htab,9
.set temp,23 ;set identifiers may be re-set.
.set temp,24
.set temp,25
.db 1,2,3,4,5,'p'
.db 6,7,"this is a test\r\n\0"
.dw 1,h'1234
.drw 1,h'1234
.page ;start on a new 256 byte boundary.
loop2: .db loop2 >> 3
.segment .rom2,-x'800 ;my programmer only likes 0..n addresses
.rom2
.org h'800
.db "this is possibly an external rom programmed seperately."
.code
.end loop ;end of assembly, specifying start address.